import React, { Component, createRef } from 'react'

// 子传父方式
// 方式1: 使用动态属性传递一个父组件中的方法给子组件, 子组件猴子那个调用该方法, 并
// 传递子组件中的数据, 父组件中的该方法执行, 接收的数据就是子传父的数据

// 方式2: 通过给子组件绑定ref 获取子组件实例,进而获取子组件上的state 数据, 实现子传父

// 方式3: 在子组件中定义一个方法, 该方法的返回值为子组件中的数据, 然后父组件通过ref调用
// 该子组件上的方法, 方法的返回值为子组件中的state 数据,实现子传父


// 引入子组件
import Son from './Son'
export default class Father extends Component {
    ref1 = createRef();
    render() {
        return (
            <div>
                父组件
                {/* 使用子组件 */}
                {/* 方式1 */}
                {/* <Son tosonFn={this.tosonFn}></Son> */}
                {/* 方式2 */}
                <Son ref={this.ref1}></Son>
            </div>
        )
    };

    tosonFn(data) {
        console.log('data', data);
    };
    componentDidMount() {
        // console.log(this.ref1.current.state.userinfo);
        console.log(this.ref1.current.tofatherFn());
    }
}
